package com.example.teachingSystem.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.teachingSystem.pojo.entity.SysUser;
import com.example.teachingSystem.pojo.form.user.AddUserForm;
import com.example.teachingSystem.pojo.form.user.ChangeUserInfoForm;
import com.example.teachingSystem.pojo.form.user.UserPageQuery;
import com.example.teachingSystem.pojo.vo.UserInfoVo;
import com.example.teachingSystem.utils.result.PageResult;
import com.example.teachingSystem.utils.result.Result;

import java.util.List;

/**
 * @author 86147
 * @description 针对表【sys_user(用户表)】的数据库操作Service
 * @createDate 2023-11-27 21:50:09
 */
public interface SysUserService extends IService<SysUser> {
    Result<String> addUser(AddUserForm addUserForm);

    Result<String> addUsers(List<AddUserForm> addUserFormList);

    Result<UserInfoVo> getMineInfo();

    Result<UserInfoVo> getOtherInfo(String username);

    PageResult<UserInfoVo> getUserInfoList(UserPageQuery userPageQuery);

    Result<String> updateUserInfo(ChangeUserInfoForm changeUserInfoForm);

    Result<String> changeUserStatus(Long id,boolean isDisabled);

    Result<String> changeUserDeleted(Long id,boolean isDeleted);

    Result<String> deleteMine();

    Result<String> resetUserPwd(Long id);

    Result<String> updateUserPartInfo(String content, Boolean isAvatar, Boolean isSign);
}